abstract class Tipo 

case class Inteiro() extends Tipo
case class Boleano() extends Tipo
case class Unidade() extends Tipo
case class Funcao(t1: Tipo, t2: Tipo) extends Tipo
case class Refer(t: Tipo) extends Tipo

